home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / ADB.p next >
Text File  |  1996-05-01  |  4KB  |  128 lines

  1. {
  2.      File:        ADB.p
  3.  
  4.      Contains:    ADB Interface for System 8
  5.  
  6.      Version:    Technology:    
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT ADB;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __ADB__}
  28. {$SETC __ADB__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ADBIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __IOITERATOR__}
  38. {$I IOIterator.p}
  39. {$ENDC}
  40.  
  41. {$PUSH}
  42. {$ALIGN POWER}
  43. {$LibExport+}
  44.  
  45. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  46. {
  47. ------------------------------------------------------------------------------------
  48.   Types
  49. ------------------------------------------------------------------------------------
  50. }
  51.  
  52. CONST
  53.     kADBCurrentIteratorDescVersion = 1;
  54.  
  55.  
  56. TYPE
  57.     ADBIOIteratorDataPtr = ^ADBIOIteratorData;
  58.     ADBIOIteratorData = RECORD
  59.         IOCI:                    IOCommonInfo;                            {  common data for all families     }
  60.         currentAddress:            SInt8;
  61.         defaultAddress:            SInt8;
  62.         defaultHandlerID:        SInt8;
  63.     END;
  64.  
  65.     ADBConnectionID                        = UInt32;
  66.     ADBRegisterContentsPtr = ^ADBRegisterContents;
  67.     ADBRegisterContents = RECORD
  68.         data:                    PACKED ARRAY [0..7] OF Byte;
  69.         length:                    ByteCount;
  70.     END;
  71.  
  72. {
  73. ------------------------------------------------------------------------------------
  74.   Calls
  75. ------------------------------------------------------------------------------------
  76. }
  77. FUNCTION ADBGetDeviceData(requestCount: ItemCount; VAR totalCount: ItemCount; VAR deviceData: ADBIOIteratorData): OSStatus; C;
  78. FUNCTION ADBOpen({CONST}VAR ref: IODeviceRef; VAR connection: ADBConnectionID): OSStatus; C;
  79. FUNCTION ADBClose(connection: ADBConnectionID): OSStatus; C;
  80. FUNCTION ADBGetNextAutopoll(connection: ADBConnectionID; timeOut: Duration; VAR contents: ADBRegisterContents; VAR timestamp: AbsoluteTime): OSStatus; C;
  81. {  ADBGetRegister sends a Talk command over the wire }
  82. FUNCTION ADBGetRegister(connection: ADBConnectionID; registerNumber: ByteParameter; VAR contents: ADBRegisterContents; VAR timestamp: AbsoluteTime): OSStatus; C;
  83. {
  84.  ADBSetRegister sends a Listen command over the wire
  85.  Note, only allowed for registers 0, 1, and 2
  86.  Use the specific calls to set individual fields of register 3
  87. }
  88. FUNCTION ADBSetRegister(connection: ADBConnectionID; registerNumber: ByteParameter; {CONST}VAR contents: ADBRegisterContents): OSStatus; C;
  89. FUNCTION ADBGetHandlerID(connection: ADBConnectionID; VAR handlerID: Byte): OSStatus; C;
  90. FUNCTION ADBSetHandlerID(connection: ADBConnectionID; handlerID: ByteParameter): OSStatus; C;
  91. {
  92.  for ADBGetStatusBits and ADBSetStatusBits,
  93.  the 4 most significant bits of the bits parameter
  94.  contain the 4 most significant bits of the first byte of device register 3
  95. }
  96. FUNCTION ADBGetStatusBits(connection: ADBConnectionID; VAR bits: Byte): OSStatus; C;
  97. FUNCTION ADBSetStatusBits(connection: ADBConnectionID; bits: ByteParameter): OSStatus; C;
  98. {  see the Guide to Macintosh Family Hardware for more info on an ADB device activator }
  99. FUNCTION ADBTestActivator(connection: ADBConnectionID; VAR activatorPressed: BOOLEAN): OSStatus; C;
  100. FUNCTION ADBFlush(connection: ADBConnectionID): OSStatus; C;
  101. FUNCTION ADBResetBus: OSStatus; C;
  102. {
  103. ------------------------------------------------------------------------------------
  104.   status codes
  105. ------------------------------------------------------------------------------------
  106. }
  107. {  ADB assigned range is -30279 to -30260 inclusive }
  108.  
  109. CONST
  110.     adbDeviceBusyErr            = -30279;                        {  device already Opened }
  111.     adbInvalidConnectionIDErr    = -30278;
  112.     adbConnectionTerminatedErr    = -30277;                        {  device closed or unplugged during the call }
  113.     adbDeviceTimeoutErr            = -30276;
  114.     adbReservedHandlerIDErr        = -30275;
  115.     adbInvalidHandlerIDErr        = -30274;
  116.  
  117. {$ENDC}
  118. {$ALIGN RESET}
  119. {$POP}
  120.  
  121. {$SETC UsingIncludes := ADBIncludes}
  122.  
  123. {$ENDC} {__ADB__}
  124.  
  125. {$IFC NOT UsingIncludes}
  126.  END.
  127. {$ENDC}
  128.